<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>员工管理系统 - 登录</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="js/utils.js"></script>
    <script src="js/api.js"></script>
</head>
<body>
<div class="login-container">
    <div class="login-header">
        <h2>员工管理系统</h2>
    </div>
    <div class="login-form">
        <div class="form-group">
            <label for="username">用户名</label>
            <input type="text" id="username" placeholder="请输入用户名">
        </div>
        <div class="form-group">
            <label for="password">密码</label>
            <input type="password" id="password" placeholder="请输入密码">
        </div>
        <button id="login-btn" class="btn btn-primary">登录</button>
    </div>
</div>

<script>
    $(document).ready(function () {
        // 登录功能
        $('#login-btn').click(function () {

            const username = $('#username').val();
            const password = $('#password').val();

            if (!validateLoginForm(username, password)) {
                return;
            }
            $.get("users/finduser",
                {
        // 这是给后端看的，后端通过 request.getParameter("username");接收值，改这个键名得把后端接受的键名一起改
        // 和下面存值时候的 localStorage.setItem('username', username);无关，只有后面的值username是一样的，这里改不改 键名 跟下面的无关
                    "username": username,
                    "password": password
                },
                function (data) {
                    if (data.successLogin) {
                        // 登录成功，存储token(令牌)
                        localStorage.setItem('token', 'fake_token_for_demo');
                        localStorage.setItem('username', username);
                        localStorage.setItem('userId', data.userId);
                        // 关键：将 isadmin 存入 localStorage（转为字符串，因为 localStorage 只存字符串）
                        // （解释：localStorage 存的 "true"/"false" 是字符串，直接用会有逻辑错误，所以要和 "true" 对比转布尔）
                        // 和 "true" 对比转布尔 的方法：const isadmin = localStorage.getItem("isadmin") === "true";
                        localStorage.setItem('isadmin', data.isadmin);

                        /*alert("data.isadmin："+data.isadmin); //管理员登录时：true*/

                        // 跳转到仪表盘
                        window.location.href = 'dashboard.html';
                    } else{
                        alert("账号或密码不正确！")
                    }
                }
            )


        });

        function validateLoginForm(username, password) {
            if (!username || username.trim() === '') {
                alert('请输入用户名');
                return false;
            }
            if (!password || password.trim() === '') {
                alert('请输入密码');
                return false;
            }
            return true;
        }
    });
</script>
</body>
</html>